<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var s = "babad"
        var longestPalindrome = function (s) {
            // 字符串的长度小于2 返回本身
            if(s.length<2){
                return s;
            }
            // start存放满足条件字符的开始位置  maxlength 最大长度
            var start = 0;
            var maxlength  = 1;
            // 封装函数 判断左右是否越界，是否相等
            function expandAroundCenter(left,right){
                while(left>=0&&right<s.length&&s[left]===s[right]){
                    // 是否大于最大长度  大于则更新
                    if(right-left+1>maxlength){
                        maxlength = right-left+1;
                        start = left;
                    }
                    // 左右遍历
                    left--;
                    right++;
                }
            }
            // 将每一个字符作为中心点
            for(var i=0;i<s.length;i++){
                // 判断中心点左右是否相等
                expandAroundCenter(i-1,i+1);
                // 判断两个邻近的字符
                expandAroundCenter(i,i+1)
            }
            // 返回最长回文字串
            return s.slice(start,start+maxlength)
        };
        console.log(longestPalindrome(s))
    </script>
</body>

</html>